package com.yfp.group.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yfp.common.core.text.BigDecimalSerializer;
import com.yfp.common.core.text.PlusSignBigDecimalSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 企业资金明细-交易记录VO
 */
@Data
public class EnterpriseCapitalOrderVO implements Serializable {

    private static final long serialVersionUID = -8691458572404666497L;

    /**
     * 订单名称
     */
    @Schema(description = "订单名称")
    private String orderName;

    /**
     * 交易编号
     */
    @Schema(description = "交易编号")
    private String transactionId;

    /**
     * 交易类型1充值（微信）2充值（支付宝）3消费（微信支付）4消费（微信二维码支付）5消费（支付宝支付）6消费（余额支付）
     */
    @Schema(description = "交易类型1充值（微信）2充值（支付宝）3消费（微信支付）4消费（微信二维码支付）5消费（支付宝支付）6消费（余额支付）")
    private Integer type;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "创建时间")
    private Date createTime;

    /**
     * 交易金额
     */
    @Schema(description = "交易金额")
    @JsonSerialize(using = PlusSignBigDecimalSerializer.class)
    private BigDecimal money;

    /**
     * 余额
     */
    @Schema(description = "余额")
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal balance;
}
